No NumPy, Gerenciamento de Precisão é a seleção deliberada das profundidades de bits para equilibrar eficiência de memória com correção numérica. Diferentemente dos inteiros padrão do Python, que têm precisão arbitrária, o NumPy usa tipos C de tamanho fixo (por exemplo, int32_t, uint64_t).
1. A Hierarquia de Tipos
Os tipos dtypes do NumPy definem o tamanho da memória. Embora np.int_() forneça um tamanho dependente da plataforma, sistemas robustos contam com Aliases de Tamanho Fixo (Tabela: Página 34) para garantir consistência entre diferentes hardware.
- Inteiros:
int8_t,int16_t,int32_t,int64_t. - Sem sinal:
uint8_tatéuint64_t. - Ponteiros:
intptr_t,uintptr_t.
2. Ferramentas de Inspeção
Antes de executar operações aritméticas, use np.iinfo() e np.finfo() para inspecionar limites. Por exemplo, 1 + np.finfo(np.longdouble).eps identifica o epsilon da máquina — o limite onde adições já não alteram o valor.
3. Os Mecanismos de Estouro
O NumPy não levanta erros em caso de estouro; ele falha silenciosamente. Usando np.power(100, 8, dtype=np.int32) resulta em truncamento, enquanto float64 transita para inf. Use np.issubdtype(d, np.floating) para validar categorias antes das operações.